はじめに
VFXを利用して打撃ヒットエフェクトを作成してみます (ヒットエフェクトとしては少し豪華すぎますが)
あまり高度なことが必要ないためVFX初心者でも簡単に作成できました
幾つかのパーツを作成して組み合わせてヒットエフェクトとしているためそれぞれ各パーツについて流れを説明していきます
Ling
円画像を広げていくエフェクト
以下画像を表示しています。 適当にPhotoshopで作成しました (サイトだと透過されてない… ダウンロードすれば見れます)
Spawnは SingleBurst で生成されるパーティクル数を一つ ( 引数から取るようにしてますが基本 1 )
Lifetimeは調整できるように引数を設定しています。 また、SetAngle.XYZ に設定される値をランダムに設定します。
これは画像自体に凹み等あるため、パーティクルが毎回同じ向きだとアップ時に違和感が出るかなと思い回転させています
Updateは特になし。Output
MainTexture
円画像を指定。 BlendModeはAlphaのままです。もし背景が黒の画像を利用する場合は Additive にする必要があります
Set Size over Life
徐々に大きくなるようなAnimationCurveを指定
Set Color over Life
色は適当に決めています
以上でLingの作成は終了
Spark01
火花っぽいエフェクト Z軸に火花が散るようにします
長さや太さは調整できるようにします
Spawn
Initialize
Set Volocity Random
パーティクルの速度を設定します。 X、Yは大きくランダムになるように -2 ~ 2 の範囲、Zは + 方向のみに出てほしいため、 0.2 ~ 2 の範囲としています
Set Lifetime Rnadom
ここも適当に
Set Position
Y座標のみ移動できるようにしていますが基本中心から出すので不要でした
Output
Orient: Along Velocity
公式 https://docs.unity3d.com/ja/Packages/com.unity.visualeffectgraph@10.7/manual/Block-Orient.html
パーティクルを Velocity の方向に向くようにしています
Set Size over Life
徐々に消えてほしいため右肩下がりのAnimationCurve
Set Scale.XYZ Random
パーティクルのサイズを外から指定したかったため引数から取るようにしています。 Randomなので、太いパーティクルもあれば細いパーティクルもありゆらぎを出しています
Set Color over Life
火花なので最初明るく最後暗くなるようなイメージで設定
Spark02
01と比べて太く、もっとランダム方向に弾かれるようなエフェクト 基本は01と同じです
基本一緒なので違いのみ抜粋
Update Particle
Turbulence
パーティクルの動きにノイズを加えています。 ぐにっと曲がるような動きを演出
Output
MainTexture
以下 画像を使っています
そして Along Velocity と Set Color over Life で色の変化をつけることで火花感を強くしています
合成
一つのVFXの中でパーツを組み合わせて再生すれば完成
パーツごとに分解し、引数を設定できるようにしておくことで他のエフェクトの素材にもなるためめんどくさがらずにSubVFX化しておくのがおすすめです